19. ChartData子类
这篇wiki主要关注ChartData子类的具体介绍。至于此部分没有提及到的ChartData的子类,代表他们没有特性功能需要介绍。
BarData
方法 | 使用 |
---|---|
setGroupSpace(float percent) | 按照一个栏的总宽度的百分比设置不同数据集的条形组之间的空间.100%代表一个条形的宽度。默认为80% |
isGrouped() | 如果此数据对象分组(由多个DataSet组成),则返回true,否则返回false |
*** | |
### ScatterData | |
方法 | 使用 |
————- | ———— |
getGreatestShapeSize() | 返回此数据对象包含的所有ScatterDataSets的最大形状大小。 |
***** | |
### PieData | |
方法 | 使用 |
————- | ———— |
getDataSet() | 返回包含的PieDataSet对象。PieData不能包含多个PieDataSet对象 |
setDataSet(PieDataSet set) | 设置PieDataSet |
*** | |
### BubbleData | |
方法 | 使用 |
————- | ———— |
setHighlightCircleWidth(float width) | 设置当数据对象包含的所有BubbleDataSet对象处于突出显示状态时的环绕该气泡的圆的宽度。单位dp |
**** | |
### CombinedData | |
该数据对象被设计为包含所有其他数据对象的实例。使用setData(…)方法提供此对象的数据。这仅用于CombinedChart。 |
1 | public class CombinedData extends ChartData { |
20. DataSet类(通用样式)
DataSet是如LineDataSet,BarDataSet等所有数据集类的基类。
1 | public class LineDataSet extends DataSet { ... |
DataSet代表一组或者一类在图表中归结在一起的数据条目集合。设计它的目的是为了将图表中的不同组数据进行逻辑分离。(比如线形图中的特定一条线,柱形图中的特定一组柱形)
以下提到的方法在DataSet类中实现,因此可用于所有子类。
20.1 数据样式
方法 | 使用 |
---|---|
setValueTextColor(int color) | 设置 DataSet 数据对象包含的数据的值文本的颜色 |
setValueTextColors(List colors) | 设置一个颜色列表用于显示值 |
setValueTextSize(float size) | 设置 DataSet 数据对象包含的数据的值文本的大小(单位是dp) |
setValueTypeface(Typeface tf) | 设置 DataSet 数据对象包含的数据的值文本的字体 |
setValueFormatter(ValueFormatter f) | 为DataSet 数据对象包含的数据设置自定义的 ValueFormatter。更多关于ValueFormatter,请查阅此处 |
setDrawValues(boolean enabled) | 启用/禁用 绘制所有 DataSet 数据对象包含的数据的值文本 |
以上方法同样适用于ChartData对象,只是操作结果针对的是其包含的所有的DataSet。
20.2 高亮
方法 | 使用 |
---|---|
setHighlightEnabled(boolean enabled) | 设置为true,允许通过点击高亮突出 ChartData 对象和其 DataSets |
setDrawVerticalHighlightIndicator(boolean enabled) | 启用/禁用纵向选中高亮指示线。如果禁用,指示线将不会被绘制 |
setDrawHorizontalHighlightIndicator(boolean enabled) | 启用/禁用横向选中高亮指示线。如果禁用,指示线将不会被绘制 |
*** | |
### 20.3 Getter/Convenience | |
方法 | 使用 |
——– | ————– |
contains(Entry entry) | 检查此数据对象是否包含指定的Entry 。 注:这个相当影响性能,性能严峻情况下,不要过度使用。 |
21. DataSet子类(特定样式)
本章wiki专注于DataSet类的子类。此处未提及的DataSet的所有其他子类代表它们没有特定的增强功能。
21.1 Line-, Bar-, Scatter-, Bubble- & CandleDataSet
方法 | 使用 |
---|---|
setHighLightColor(int color) | 设置高亮颜色。不要忘记用getResources().getColor(…) 或者 Color.rgb(…)来解析颜色(或者使用Color.BLACK这种简单的方式) |
***** | |
### 21.2 Line-, Bar-, Scatter-, Candle- & RadarDataSet | |
方法 | 使用 |
———— | —————— |
setDrawHighlightIndicators(boolean enabled) | 启用/禁用垂直和水平高亮指示线。调用setDrawVerticalHighlightIndicator(…)和setDrawHorizontalHighlightIndicator(…)进行单独配置 |
setHighlightLineWidth(float width) | 设置高亮线(十字准线)的宽度。单位dp |
** | |
### 21.3 Line- & RadarDataSet | |
方法 | 使用 |
———— | —————— |
setFillColor(int color) | 设置用于填充线条表面的颜色 |
setFillAlpha(int alpha) | 设置用于填充线条表面(0-255)的Alpha值(透明度),默认值:85,255 =完全不透明,0 =完全透明 |
setFillDrawable(Drawable d) | 设置一个可以覆盖填充区域的Drawable。这也允许使用渐变Drawable |
setDrawFilled(boolean filled) | 如果DataSet需要绘制填充(表面,区域),而不单单是一条线,那么将此项设置为true,禁用此功能将提升性能。请注意,此方法使用canvas.clipPath(…)方法绘制填充区域。对于API级别<18(Android 4.3)的设备,应关闭图表的硬件加速。具体查阅此处,默认为false |
setLineWidth(float width) | 设置线条宽度(最小=0.2f,最大10f);默认1f。注意:细线==性能更好,粗线==性能更差 |
** | |
以下提到的方法仅适用于具体提到的DataSet子类。 | |
### 21.4 LineDataSet | |
方法 | 使用 |
———— | —————— |
setCircleRadius(float size) | 设置的圆形值指示符的大小(半径),默认大小= 4F |
setDrawCircles(boolean enabled) | 设置为true启用LineDataSet的圆形指示器。默认为true |
setDrawCubic(boolean enabled) | 如果设置为true,则线条图线将以立方式而不是线性绘制。这对性能有负面影响!默认值:false |
setCubicIntensity(float intensity) | 设置立方体线的强度(如果启用)。 Max = 1f =非常立方,Min = 0.05f =低立方效应,默认值:0.2f |
setCircleColor(int color) | 设置圆形指示器的颜色 |
setCircleColors(List colors) | 设置此LineDataSet外圈应具有的颜色。还有需要其他的方法来设置外圈的颜色 |
setCircleColorHole(int color) | 设置内圈的颜色 |
setDrawCircleHole(boolean enabled) | 设置为true.在绘制内圈,否则不绘制内圈 |
enableDashedLine(float lineLength, float spaceLength, float phase) | 启动虚线绘制,具体像”- - - - - -“这样. “lineLength”虚线段长度, “spaceLength”虚线段之间的空隙, “phase”是偏移量,以度数为单位(通常为0) |
**** | |
### 21.5 BarDataSet | |
方法 | 使用 |
———— | —————— |
setBarSpacePercent(float percent) | 以总条宽的百分比设置条之间的间距 |
setBarShadowColor(int color) | 设置用于绘制条形阴影的颜色。条形图的阴影部分是一个用来表示最大值的界面。使用getResources().getColor(…) 或者Color.rgb(…)来设置这个值 |
setHighLightAlpha(int alpha) | 设置用于绘制高亮指示条的alpha值(透明度)。最小值=0(完全透明),最大值=255(完全不透明) |
setStackLabels(String[] labels) | 设置不同值的条形堆栈的标签,如果有标签的话 |
**** | |
### 21.6 ScatterDataSet | |
方法 | 使用 |
———— | —————— |
setScatterShapeSize(float size) | 设置绘制的散点图将具有的密度像素的大小。这仅适用于非自定义形状 |
setScatterShape(ScatterShape shape) | 设置在值所在的位置绘制的形状 |
**** | |
### 21.7 CandleDataSet | |
方法 | 使用 |
———— | —————— |
setBodySpace(float space) | 设置每个蜡烛体左侧和右侧留出的空间,默认为0.1f(10%),最大0.45f,最小0f |
setShadowWidth(float width) | 设置蜡烛线的宽度,单位dp。默认3f |
setShadowColor(int color) | 设置蜡烛线的颜色 |
setDecreasingColor(int color) | 设置当打开>关闭时应该用于此DataSet的唯一的颜色 |
setIncreasingColor(int color) | 设置当打开<=关闭时应该用于此DataSet的唯一的颜色 |
setDecreasingPaintStyle(Paint.Style style) | 设置当打开>关闭时的Paint风格(填充或者线条) |
setIncreasingPaintStyle(Paint.Style style) | 设置当打开<=关闭时的Paint风格(填充或者线条) |
**** | |
### 21.8 BubbleDataSet | |
方法 | 使用 |
———— | —————— |
setHighlightCircleWidth(float width) | 设置在突出显示状态下气泡周围的圆的宽度,单位dp |
21.9 PieDataSet
方法 | 使用 |
---|---|
setSliceSpace(float degrees) | 设置饼图切片之间的空隙。默认:0->没有空隙,最大20,最小0(没有空隙) |
setSelectionShift(float shift) | 设置此DataSet的突出显示的饼图切片距离图表中心“偏移”的距离,默认为12f |